#!/usr/bin/python
# -*- coding: UTF8 -*-

import Accs
#import class service
import mailru
import qipru
import twitter
import yandexru
#import class application
import report
import dataProject
import logs

import time
import string


#Получение аккаунтов с привязкой к сервису
ListAccount = Accs.Accs()
ListAccount.getNameServiceAccs()

ListAccount.addAllAccService()
ListAccount.delSymbolEndStr()
#print ListAccount.massAccsForAllService['mailru'][0]


CountGet = 50;  # Сколько нужно успешных размещений
numberReport = '0077' #  номер отчета
sleepInPost = 10  # время ожидания между постингом после постинга 1 раз в каждый сервис
ProxyUse = True  # используем прокси или нет там где возможны оба варианта

nProhod = 0;
count = 0;
#получаем данные из контента
s = dataProject.dataProject()
s.generateDataProject()

#активируем запись логов
logs = logs.logs()
logs.idOtchet = numberReport
#создание отчета и создание его шапки
report = report.report()
report.idReport = numberReport
report.addHeadReport('report/static/head.txt')
#print type(ListAccount.massAccsForAllService['qipru'])
#print ListAccount.massAccsForAllService['qipru'][0]
#import random
#random.shuffle(ListAccount.massAccsForAllService['qipru'])
#print ListAccount.massAccsForAllService['qipru'][0]
#exit()
while (count < CountGet):

	if (len(ListAccount.massAccsForAllService['mailru']) > nProhod):

		accountMailru =  ListAccount.massAccsForAllService['mailru'][nProhod].replace('@mail.ru','').split(':')
		logs.writeLogInFile('Убрали @mail.ru в аккаунте и разбили на массив аккаунт майла')

		ad = mailru.mailru()
		resultPostMailru = ad.addPost(proxy=ProxyUse, account=accountMailru, post=s.title[count].replace('\n','').replace('\r','')+' '+s.url[count].replace('\n','').replace('\r',''))
		if(resultPostMailru):

			logs.writeLogInFile('отправили пост в mail.ru микроблоги')
			report.writeReportInFile('http://blogs.mail.ru/mail/'+accountMailru[0])
			count = count + 1

		else:

			logs.writeLogInFile('ERROR : при добавлении отправили пост в mail.ru микроблоги : '+accountMailru[0])
	else:
		logs.writeLogInFile('WARNING : аккаунты в mail.ru закончились')

	###
	### MBLOGI.QIP.RU
	###

	if (len(ListAccount.massAccsForAllService['qipru']) > nProhod):

		accountQipru =  ListAccount.massAccsForAllService['qipru'][nProhod].split(':')
		logs.writeLogInFile('Убрали qipru в аккаунте и разбили на массив аккаунт майла')

		ad = qipru.qipru()
		resultPostQipru = ad.addPost(proxy=ProxyUse, account=accountQipru, post=s.title[count].replace('\n','')+' '+s.url[count].replace('\n',''))
		if(resultPostQipru) :
			logs.writeLogInFile('отправили пост в qip.ru микроблоги')
			report.writeReportInFile('http://mblogi.qip.ru/people/'+accountQipru[0])
			count = count + 1
		else:
			logs.writeLogInFile('ERROR : при добавлении отправили пост в qip.ru микроблоги :'+accountQipru[0])
	else:
		logs.writeLogInFile('аккаунты в qip.ru закончились')

    ###
	### TWITTER.COM
	###

	if (len(ListAccount.massAccsForAllService['twittercom']) > nProhod):

		accountTwittercom =  ListAccount.massAccsForAllService['twittercom'][nProhod].split(':')
		logs.writeLogInFile('Убрали @twittercom в аккаунте и разбили на массив аккаунт майла')

		ad = twitter.twitter()
		resultPostTwittercom = ad.addPost(proxy=ProxyUse, account=accountTwittercom, post=s.title[count].replace('\n','')+' '+s.url[count].replace('\n',''))
		if(resultPostTwittercom) :
			logs.writeLogInFile('отправили пост в twitter.com микроблоги')
			report.writeReportInFile('http://twitter.com/#!/'+accountTwittercom[0])
			count = count + 1
		else:
			logs.writeLogInFile('ERROR : при добавлении отправили пост в twitter.com микроблоги :'+accountTwittercom[0])
	else:
		logs.writeLogInFile('аккаунты в twitter.com закончились')

	###
	### MY.YANDEX.RU
	###

	if (len(ListAccount.massAccsForAllService['yandexru']) > nProhod):

		accountYandexru =  ListAccount.massAccsForAllService['yandexru'][nProhod].split(':')
		logs.writeLogInFile('Разбили на массив аккаунт ya.ru')

		ad = yandexru.yandexru()
		resultPostYandexru = ad.addPost(proxy=ProxyUse, account=accountYandexru, post= [s.url[count].replace('\n',''), s.title[count].replace('\n',''), s.body[count].replace('\n',''), s.tags[count].replace('\n','')])
		if(resultPostYandexru) :
			logs.writeLogInFile('отправили пост в ya.ru микроблоги')
			report.writeReportInFile('http://'+accountYandexru[0]+'.ya.ru/')
			count = count + 1
		else:
			logs.writeLogInFile('ERROR : при добавлении отправили пост в Ya.ru микроблоги :'+accountYandexru[0])
	else:
		logs.writeLogInFile('аккаунты в ya.ru закончились')



	nProhod = nProhod + 1
	if(nProhod == CountGet):
		break

	time.sleep(sleepInPost)
	
report.addFooterReport('report/static/footer.txt')